package com.wzl.day2;

/**
 * @author wuzhilang
 * @Title: Day2
 * @ProjectName questions
 * @Description: TODO
 * @date 7/16/201911:11 AM
 */

/**
 * 阅读以下代码输出正确答案的是：
 * public class LongDivision {
 *
 *     private static final long MILLIS_PER_DAY
 *             = 24 * 60 * 60 * 1000;
 *
 *     private static final long MICROS_PER_DAY
 *             = 24 * 60 * 60 * 1000 * 1000;
 *
 *     public static void main(String[] args) {
 *         System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);
 *     }
 * }
 * 以上程序输出内容是？
 * (a) 5
 * (b) 1000
 * (c) 抛出异常
 * (d) 以上答案都不对
 */
public class Day2 {

		private static final long MILLIS_PER_DAY
				= 24 * 60 * 60 * 1000;

		private static final long MICROS_PER_DAY
				= 24 * 60 * 60 * 1000 * 1000;

		public static void main(String[] args) {
			System.out.println(MICROS_PER_DAY / MILLIS_PER_DAY);
			System.out.println(MICROS_PER_DAY);
			System.out.println(MILLIS_PER_DAY);
		}
//		解析：赋值时,MICROS_PER_DAY = 后面的"24 * 60 * 60 * 1000 * 1000" 是 int类型的
//	    int的取值范围是-2^31 - 2^31-1
//	    "24 * 60 * 60 * 1000 * 1000" 转化成二进制的值是
//      1010000011101110101110110000000000000
//	    取低32位的 就是 0011101110101110110000000000000 500654080
//	    结果是：5
//	    在此补充下编程规范：long类型的数值尽量用L表示，l的和1容易混淆。（ps：阿里巴巴的编程手册还是有必要读一读的）
}
